#include<iostream>
#include<string>
#include<fstream>
#include"bundle.h"
using namespace std;
int main(int argc , char * argv[]){
    std::cout<<"argv[1]是原始文件名字\n" ;
    std ::cout<<"argv[2]是压缩包名字\n";
    if(argc < 3) return -1;

    std::string ifilename = argv[1]; 
    std::string ofilename = argv[2];

    std::ifstream ifs;//创建文件输入输出流
    ifs.open(ifilename , std::ios::binary);//二进制打开文件
    ifs.seekg(0,std::ios::end);//跳转到文件末尾
    size_t fsize = ifs.tellg();//获取文件大小
    ifs.seekg(0,std::ios::beg);//跳转到文件起始

    std::string body;
    body.resize(fsize);//调整body大小为文件大小
    ifs.read(&body[0],fsize);//读取文件所有数据到body

    std::string packed = bundle::pack(bundle::LZIP,body);//以Lzip格式压缩文件


    std::ofstream ofs;
    ofs.open(ofilename, std::ios::binary);//打开压缩包
    ofs.write(&packed[0],packed.size());//将压缩后的文件写入压缩包文件
    ifs.close();
    ofs.close();
    
    return 0;
}
